/**
 * <copyright>
 * Copyrigth 2007 Aurelien Moreau
 *
 * This file is part of ProcessShop.
 *
 * ProcessShop is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * ProcessShop is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with ProcessShop; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 * </copyright>
 *
 * $Id$
 */
package net.yienyien.process.folder.artifacts;

import net.yienyien.process.bpd.BpdPackage;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see net.yienyien.process.folder.artifacts.ArtifactsFactory
 * @model kind="package"
 * @generated
 */
public interface ArtifactsPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "artifacts";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://www.yienyien.net/process/folder/artifacts";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "artifacts";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	ArtifactsPackage eINSTANCE = net.yienyien.process.folder.artifacts.impl.ArtifactsPackageImpl.init();

	/**
	 * The meta object id for the '{@link net.yienyien.process.folder.artifacts.impl.BPDPatternImpl <em>BPD Pattern</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see net.yienyien.process.folder.artifacts.impl.BPDPatternImpl
	 * @see net.yienyien.process.folder.artifacts.impl.ArtifactsPackageImpl#getBPDPattern()
	 * @generated
	 */
	int BPD_PATTERN = 0;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BPD_PATTERN__NAME = 0;

	/**
	 * The number of structural features of the '<em>BPD Pattern</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BPD_PATTERN_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link net.yienyien.process.folder.artifacts.impl.PatternedBPDComponentImpl <em>Patterned BPD Component</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see net.yienyien.process.folder.artifacts.impl.PatternedBPDComponentImpl
	 * @see net.yienyien.process.folder.artifacts.impl.ArtifactsPackageImpl#getPatternedBPDComponent()
	 * @generated
	 */
	int PATTERNED_BPD_COMPONENT = 1;

	/**
	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__EANNOTATIONS = BpdPackage.BPD_COMPONENT__EANNOTATIONS;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__MODEL = BpdPackage.BPD_COMPONENT__MODEL;

	/**
	 * The feature id for the '<em><b>Inputs</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__INPUTS = BpdPackage.BPD_COMPONENT__INPUTS;

	/**
	 * The feature id for the '<em><b>Outputs</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__OUTPUTS = BpdPackage.BPD_COMPONENT__OUTPUTS;

	/**
	 * The feature id for the '<em><b>Is Receive</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__IS_RECEIVE = BpdPackage.BPD_COMPONENT__IS_RECEIVE;

	/**
	 * The feature id for the '<em><b>Composite</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__COMPOSITE = BpdPackage.BPD_COMPONENT__COMPOSITE;

	/**
	 * The feature id for the '<em><b>Entry</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__ENTRY = BpdPackage.BPD_COMPONENT__ENTRY;

	/**
	 * The feature id for the '<em><b>Exit</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__EXIT = BpdPackage.BPD_COMPONENT__EXIT;

	/**
	 * The feature id for the '<em><b>Source</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__SOURCE = BpdPackage.BPD_COMPONENT__SOURCE;

	/**
	 * The feature id for the '<em><b>Sink</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__SINK = BpdPackage.BPD_COMPONENT__SINK;

	/**
	 * The feature id for the '<em><b>Objects</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__OBJECTS = BpdPackage.BPD_COMPONENT__OBJECTS;

	/**
	 * The feature id for the '<em><b>Relations</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__RELATIONS = BpdPackage.BPD_COMPONENT__RELATIONS;

	/**
	 * The feature id for the '<em><b>Pattern</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT__PATTERN = BpdPackage.BPD_COMPONENT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Patterned BPD Component</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATTERNED_BPD_COMPONENT_FEATURE_COUNT = BpdPackage.BPD_COMPONENT_FEATURE_COUNT + 1;


	/**
	 * The meta object id for the '{@link net.yienyien.process.folder.artifacts.impl.BPDPatternLibraryImpl <em>BPD Pattern Library</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see net.yienyien.process.folder.artifacts.impl.BPDPatternLibraryImpl
	 * @see net.yienyien.process.folder.artifacts.impl.ArtifactsPackageImpl#getBPDPatternLibrary()
	 * @generated
	 */
	int BPD_PATTERN_LIBRARY = 2;

	/**
	 * The feature id for the '<em><b>Patterns</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BPD_PATTERN_LIBRARY__PATTERNS = 0;

	/**
	 * The number of structural features of the '<em>BPD Pattern Library</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BPD_PATTERN_LIBRARY_FEATURE_COUNT = 1;


	/**
	 * Returns the meta object for class '{@link net.yienyien.process.folder.artifacts.BPDPattern <em>BPD Pattern</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>BPD Pattern</em>'.
	 * @see net.yienyien.process.folder.artifacts.BPDPattern
	 * @generated
	 */
	EClass getBPDPattern();

	/**
	 * Returns the meta object for the attribute '{@link net.yienyien.process.folder.artifacts.BPDPattern#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see net.yienyien.process.folder.artifacts.BPDPattern#getName()
	 * @see #getBPDPattern()
	 * @generated
	 */
	EAttribute getBPDPattern_Name();

	/**
	 * Returns the meta object for class '{@link net.yienyien.process.folder.artifacts.PatternedBPDComponent <em>Patterned BPD Component</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Patterned BPD Component</em>'.
	 * @see net.yienyien.process.folder.artifacts.PatternedBPDComponent
	 * @generated
	 */
	EClass getPatternedBPDComponent();

	/**
	 * Returns the meta object for the containment reference '{@link net.yienyien.process.folder.artifacts.PatternedBPDComponent#getPattern <em>Pattern</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Pattern</em>'.
	 * @see net.yienyien.process.folder.artifacts.PatternedBPDComponent#getPattern()
	 * @see #getPatternedBPDComponent()
	 * @generated
	 */
	EReference getPatternedBPDComponent_Pattern();

	/**
	 * Returns the meta object for class '{@link net.yienyien.process.folder.artifacts.BPDPatternLibrary <em>BPD Pattern Library</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>BPD Pattern Library</em>'.
	 * @see net.yienyien.process.folder.artifacts.BPDPatternLibrary
	 * @generated
	 */
	EClass getBPDPatternLibrary();

	/**
	 * Returns the meta object for the containment reference list '{@link net.yienyien.process.folder.artifacts.BPDPatternLibrary#getPatterns <em>Patterns</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Patterns</em>'.
	 * @see net.yienyien.process.folder.artifacts.BPDPatternLibrary#getPatterns()
	 * @see #getBPDPatternLibrary()
	 * @generated
	 */
	EReference getBPDPatternLibrary_Patterns();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	ArtifactsFactory getArtifactsFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link net.yienyien.process.folder.artifacts.impl.BPDPatternImpl <em>BPD Pattern</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see net.yienyien.process.folder.artifacts.impl.BPDPatternImpl
		 * @see net.yienyien.process.folder.artifacts.impl.ArtifactsPackageImpl#getBPDPattern()
		 * @generated
		 */
		EClass BPD_PATTERN = eINSTANCE.getBPDPattern();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute BPD_PATTERN__NAME = eINSTANCE.getBPDPattern_Name();

		/**
		 * The meta object literal for the '{@link net.yienyien.process.folder.artifacts.impl.PatternedBPDComponentImpl <em>Patterned BPD Component</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see net.yienyien.process.folder.artifacts.impl.PatternedBPDComponentImpl
		 * @see net.yienyien.process.folder.artifacts.impl.ArtifactsPackageImpl#getPatternedBPDComponent()
		 * @generated
		 */
		EClass PATTERNED_BPD_COMPONENT = eINSTANCE.getPatternedBPDComponent();

		/**
		 * The meta object literal for the '<em><b>Pattern</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PATTERNED_BPD_COMPONENT__PATTERN = eINSTANCE.getPatternedBPDComponent_Pattern();

		/**
		 * The meta object literal for the '{@link net.yienyien.process.folder.artifacts.impl.BPDPatternLibraryImpl <em>BPD Pattern Library</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see net.yienyien.process.folder.artifacts.impl.BPDPatternLibraryImpl
		 * @see net.yienyien.process.folder.artifacts.impl.ArtifactsPackageImpl#getBPDPatternLibrary()
		 * @generated
		 */
		EClass BPD_PATTERN_LIBRARY = eINSTANCE.getBPDPatternLibrary();

		/**
		 * The meta object literal for the '<em><b>Patterns</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BPD_PATTERN_LIBRARY__PATTERNS = eINSTANCE.getBPDPatternLibrary_Patterns();

	}

} //ArtifactsPackage
